package timer

import (
	"demo-2025/demo01/global"
	"github.com/robfig/cron/v3"
	"go.uber.org/zap"
	"log"
)

// RegisterTasks https://juejin.cn/post/7491670661544280064?utm_source=gold_browser_extension
// 编写一个简单的任务示例，演示任务注册和执行
// 作为示例任务文件，编写一个简单的任务，帮助快速上手任务注册流程。
/*
cr.AddFunc()：向调度器添加一个新的定时任务。
global.GVA_LOG.Info()：记录日志，方便我们查看任务是否被正常触发。
log.Println()：控制台打印，作为简单输出。
*/
//"*/5 * * * * *"：cron 表达式，表示「每隔 5 秒执行一次」。`
// RegisterTasks 注册定时任务
func RegisterTasks(cr *cron.Cron) {
	// 每隔 5 秒执行一次的定时任务
	_, err := cr.AddFunc("*/5 * * * * *", func() {
		global.GVA_LOG.Info("⏰ 定时任务触发：每 5 秒执行一次")
		log.Println("定时任务执行：我是一个测试任务")
	})
	if err != nil {
		global.GVA_LOG.Error("注册定时任务失败", zap.Any("err", err))
	}
}
